From f168de3ada3a074df7184010ff43714fc8864dbe Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 30 May 2016 16:14:36 -0400 Subject: [PATCH] Add a warning for a broken situation When we emit ::draw, the widget should not have alloc_needed set anymore. If this happens, it indicates a broken situation. Add a warning to help tracking down why this might occur. See https://bugzilla.gnome.org/show_bug.cgi?id=765410 --- gtk/gtkwidget.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 5b0e280451..af95148d9a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -6973,6 +6973,9 @@ gtk_widget_draw_internal (GtkWidget *widget, if (push_group) cairo_push_group (cr); + if (_gtk_widget_get_alloc_needed (widget)) + g_warning ("%s %p is drawn without a current allocation. This should not happen.", G_OBJECT_TYPE_NAME (widget), widget); + if (g_signal_has_handler_pending (widget, widget_signals[DRAW], 0, FALSE)) { g_signal_emit (widget, widget_signals[DRAW], -- 2.30.2